﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace HomeWork
{
    class Suggest : Content, IValuable //建议类继承内容类和IValuable接口
    {
        public SuggestState State { get; set; } = SuggestState.Unprocessed;//状态
        public Comment Comment { get; set; } //评论（复用之前的Comment类）

        // 实现IValuable接口        
        public ValuableType Type => ValuableType.Suggest; // 标记为“建议”类型
        public Guid AuthorId { get; init; }// 建议作者ID（需新增）
        public int LikeCount { get; set; } = 0; // 点赞数（替代LikeSystem的计数）
        public int DislikeCount { get; set; } = 0; // 点踩数                                                   
        public DateTime CreatedAt { get; init; } = DateTime.Now;// 创建时间（评论发布时间）

        // 评论状态（管理可用性）
        public enum SuggestState
        {
            Unprocessed = 0, // 未采纳
            Adopted = 1, // 已采纳
            Rejected = 2,  // 已拒绝
            InProcessing = 3  // 处理中
        }

        //发布建议
        public override void Publish()
        {
            ValidateAuthorNotNull(); // 确保作者不为空
            Console.WriteLine("发布了一个建议：" + Title + "内容：" + Body);
        } 
        


    }
}
